Relational database management systems (“RDMSs,” or “relational databases”) store data in tables having rows and columns. A variety of queries can be performed on such tables, using a query language
More recently, multidimensional database management systems (“MDDBMSs,” or “MD databases”) have become available. MD databases use the idea of a data cube to represent different dimensions of data available to a user. For example, sales could be viewed in the dimensions of product model, geography, time, or some additional dimension. In this case, sales is described as the measure attribute of the data cube and the other dimensions are described as feature attributes. Additionally, hierarchies and levels may be defined within a dimension (for example, state, city, and country levels within a regional hierarchy in the geography dimension).
In MD databases, data is rigorously coordinated in a way that enables it to support powerful and useful queries. Certain limitations of MD databases can be the source of significant disadvantages, however. An MD database typically must be queried through a special database engine, using special type of multidimensional query. Many existing database and database-driven applications, while offering support for accessing data stored in one or more types of relational databases, fail to offer support for accessing data stored in an MD database. Additionally, while many computer users are competent to formulate a query and analyze a query result for relational databases, relatively few are competent to do so for MD databases. Further, it can be difficult or impossible to combine data extracted from an MD data source with data extracted from more conventional data sources, such as a relational database.
Accordingly, an approach that enabled conventional database and database-driven applications to model multidimensional data sources as relational data sources and transparently query them would have significant utility.